package com.xique.door.service;



import com.xique.door.bean.domain.AccessDevice;
import com.xique.door.bean.domain.PermissionGroupDevice;
import com.xique.door.bean.domain.UserDevice;

import java.util.List;

/**
 * @author shd
 * @create 2021/7/6 9:54
 */
public interface IAccessDeviceDomainService {

    /**
     * 添加设备
     * @author shd
     * @date 2021/7/6 10:04
     * @param accessDevice 设备信息
     * @param devices 权限组设备信息
     * @param userDevices 用户设备信息
     * @return boolean
     */
    boolean addDevice(AccessDevice accessDevice, List<PermissionGroupDevice> devices, List<UserDevice> userDevices);

    /**
     * 编辑设备
     * @author shd
     * @date 2021/7/6 16:03
     * @param accessDevice 设备信息
     * @param addDevice 新增到权限组的设备
     * @param deleteIds 删除权限组的设备
     * @param addUserDevice 新增用户的设备
     * @param deleteUserDeviceIds 删除用户的设备
     * @return boolean
     */
    boolean editDevice(AccessDevice accessDevice, List<PermissionGroupDevice> addDevice,
                       List<Long> deleteIds, List<UserDevice> addUserDevice, List<Long> deleteUserDeviceIds);

    /**
     * 删除设备
     * @author shd
     * @date 2021/7/7 8:50
     * @param deviceIds
     * @param groupDeviceIds
     * @param userDeviceIds
     * @return boolean
     */
    boolean removeDevice(List<Long> deviceIds, List<Long> groupDeviceIds, List<Long> userDeviceIds);
}
